// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.butler.service;

import com.liuxinlong.modules.entity.Comment;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * 评论信息业务接口层
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2022-12-06
 */
public interface CommentService {
    /**
     * 查询评论信息列表
     *
     * @param queryParam 查询参数
     * @return 评论信息列表
     */
    List<Map<String, Object>> pageCommentInfo(Map<String, Object> queryParam);

    /**
     * 获取评论信息数量
     *
     * @param queryParam 查询参数
     * @return 评论信息数量
     */
    int getCommentInfoCount(Map<String, Object> queryParam);

    /**
     * 新增评论信息
     *
     * @param comment 评论信息
     */
    void addCommentInfo(Comment comment);

    /**
     * 查询评论信息管理列表
     *
     * @param queryParam 查询参数
     * @return 评论信息管理列表
     */
    List<Map<String, Object>> pageCommentManageList(Map<String, Object> queryParam);

    /**
     * 获取评论信息数量
     *
     * @param queryParam 查询参数
     * @return 评论信息数量
     */
    int getCommentManageCount(Map<String, Object> queryParam);

    /**
     * 置顶评论信息
     *
     * @param id 评论id
     */
    void toppingComment(String id);

    /**
     * 更新评论信息
     *
     * @param comment 评论信息
     */
    void updateComment(Comment comment);

    /**
     * 删除论坛评论信息
     *
     * @param id 论坛评论id
     */
    void deleteComment(String id);

    /**
     * 审核评论信息
     *
     * @param id     评论id
     * @param result 审核结果
     */
    void examineComment(String id, int result);

    /**
     * 导出评论信息
     *
     * @param id 评论信息id
     */
    void exportComment(String id, HttpServletResponse response);

}
